A computer system includes a bus as a data transmission path through which devices are connected each other in the computer system. As an example of a bus, a peripheral component interconnect (PCI) bus is known. A device driver that controls a PCI device is associated with the PCI device connected to the PCI bus. In an operating system of the computer system, one type of given device driver is used in order to control the PCI device that is connected to the PCI bus. Generally, one type of device driver is registered to a corresponding type of PCI device to control the PCI device in the operating system of the computer system.
In the computer system, a vender ID and device ID, which are given to a PCI device, are generally used to identify a PCI device to which a device driver corresponds. Thus, one type of device driver is registered to a PCI device that is identified by the certain combination of a vender ID and device ID. An example of a case is described below in which a device driver is registered.
A PCI device includes a unique vender ID and device ID for each type of PCI device. An example is described using a PCI card that includes a unique vender ID and device ID as a PCI device. Registration of a device driver in the computer system is conducted by registering a vender ID and device ID of a PCI card to be controlled, which are associated with the device driver, to an operating system, or a kernel. In the kernel, a table that associates a vender ID and device ID with a device driver is established beforehand. The kernel calls a device driver that corresponds to a vender ID and device ID with reference to the table established beforehand when a PCI card is detected.
For devices including the same vender ID and device ID, a plurality of types of device drivers may be registered to the kernel. However, when the plurality of types of device drivers are registered to the kernel, the devices may be associated with each of the device drivers, so that a malfunction may occur.
As a technique by which a single device can serve as a plurality of devices, a technique is known by which a PCI card having a single function is operated as a multifunction PCI card. In this technique, hardware functions are operated independently by providing a multifunctional driver between the device drivers and the PCI card.